QT += core gui
QT += sql
QT += opengl
QT += webenginewidgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++17

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    src/Dialog/aboutdialog.cpp \
    src/Dialog/catalog/addgdbdialog.cpp \
    src/Dialog/catalog/connectmysqldialog.cpp \
    src/Dialog/catalog/newsqlflayerdialog.cpp \
    src/Dialog/layerattributetabledialog.cpp \
    src/Dialog/layerstyledialog.cpp \
    src/Dialog/newmapdialog.cpp \
    src/Dialog/protable/addfielddialog.cpp \
    src/Dialog/protable/deletefielddialog.cpp \
    src/Dialog/protable/exportprotabledialog.cpp \
    src/Dialog/statistics/statisticfielddialog.cpp \
    src/Dialog/tools/settingdialog.cpp \
    src/Dialog/viewlogdialog.cpp \
    src/Dialog/whatisthisdialog.cpp \
    src/Geo/geometry/geogeometry.cpp \
    src/Geo/geometry/geogeometrycollection.cpp \
    src/Geo/geometry/geolinearring.cpp \
    src/Geo/geometry/geolinestring.cpp \
    src/Geo/geometry/geomultilinestring.cpp \
    src/Geo/geometry/geomultipoint.cpp \
    src/Geo/geometry/geomultipolygon.cpp \
    src/Geo/geometry/geopoint.cpp \
    src/Geo/geometry/geopolygon.cpp \
    src/Geo/index/grid.cpp \
    src/Geo/index/gridindex.cpp \
    src/Geo/index/spatialindex.cpp \
    src/Geo/map/geofeature.cpp \
    src/Geo/map/geofeaturelayer.cpp \
    src/Geo/map/geofeaturelayerproperty.cpp \
    src/Geo/map/geomap.cpp \
    src/Geo/map/georasterlayer.cpp \
    src/Geo/raster/georasterband.cpp \
    src/Geo/raster/georasterdata.cpp \
    src/Geo/raster/geotiff.cpp \
    src/Geo/utility/filereader.cpp \
    src/Geo/utility/geo_convert.cpp \
    src/Geo/utility/geo_math.cpp \
    src/Geo/utility/geo_utility.cpp \
    src/OpenGL/glcall.cpp \
    src/OpenGL/indexbuffer.cpp \
    src/OpenGL/openglfeaturedescriptor.cpp \
    src/OpenGL/openglrasterdescriptor.cpp \
    src/OpenGL/renderer.cpp \
    src/OpenGL/shader.cpp \
    src/OpenGL/texture.cpp \
    src/OpenGL/vertexarray.cpp \
    src/OpenGL/vertexbuffer.cpp \
    src/OpenGL/vertexbufferlayout.cpp \
    src/Operation/operation.cpp \
    src/Operation/operationlist.cpp \
    src/SQL/sqloperator.cpp \
    src/View/filetreeview.cpp \
    src/Widget/OpenGLWidget3D.cpp \
    src/Widget/colorblockwidget.cpp \
    src/Widget/dbtreewidget.cpp \
    src/Widget/layerstreewidget.cpp \
    src/Widget/layerstreewidgetitem.cpp \
    src/Widget/openglwidget.cpp \
    src/util/appevent.cpp \
    src/util/env.cpp \
    src/util/utility.cpp \
    src/main.cpp \
    src/myscene.cpp



HEADERS += \
    src/Dialog/aboutdialog.h \
    src/Dialog/catalog/addgdbdialog.h \
    src/Dialog/catalog/connectmysqldialog.h \
    src/Dialog/catalog/newsqlflayerdialog.h \
    src/Dialog/layerattributetabledialog.h \
    src/Dialog/layerstyledialog.h \
    src/Dialog/newmapdialog.h \
    src/Dialog/protable/addfielddialog.h \
    src/Dialog/protable/deletefielddialog.h \
    src/Dialog/protable/exportprotabledialog.h \
    src/Dialog/statistics/statisticfielddialog.h \
    src/Dialog/tools/settingdialog.h \
    src/Dialog/viewlogdialog.h \
    src/Dialog/whatisthisdialog.h \
    src/Geo/geometry/geogeometry.h \
    src/Geo/index/grid.h \
    src/Geo/index/gridindex.h \
    src/Geo/index/spatialindex.h \
    src/Geo/map/geofeature.h \
    src/Geo/map/geofeaturelayerproperty.h \
    src/Geo/map/geofielddefn.h \
    src/Geo/map/geolayer.h \
    src/Geo/map/geomap.h \
    src/Geo/map/geomapproperty.h \
    src/Geo/map/georasterlayerproperty.h \
    src/Geo/raster/georasterband.h \
    src/Geo/raster/georasterdata.h \
    src/Geo/raster/geotiff.h \
    src/Geo/utility/filereader.h \
    src/Geo/geo_base.h \
    src/Geo/utility/geo_convert.h \
    src/Geo/utility/geo_math.h \
    src/Geo/utility/geo_utility.h \
    src/OpenGL/glcall.h \
    src/OpenGL/indexbuffer.h \
    src/OpenGL/openglfeaturedescriptor.h \
    src/OpenGL/openglrasterdescriptor.h \
    src/OpenGL/renderer.h \
    src/OpenGL/shader.h \
    src/OpenGL/texture.h \
    src/OpenGL/vertexarray.h \
    src/OpenGL/vertexbuffer.h \
    src/OpenGL/vertexbufferlayout.h \
    src/Operation/operation.h \
    src/Operation/operationlist.h \
    src/SQL/sqloperator.h \
    src/View/filetreeview.h \
    src/Widget/OpenGLWidget3D.h \
    src/Widget/colorblockwidget.h \
    src/Widget/dbtreewidget.h \
    src/Widget/layerstreewidget.h \
    src/Widget/layerstreewidgetitem.h \
    src/Widget/openglwidget.h \
    src/util/appevent.h \
    src/util/env.h \
    src/util/logger.h \
    src/util/memoryleakdetect.h \
    src/util/utility.h \
    thirdparty/glm \
    src/stable.h \
    src/myscene.h


FORMS += \
    src/Dialog/aboutdialog.ui \
    src/Dialog/catalog/addgdbdialog.ui \
    src/Dialog/catalog/connectmysqldialog.ui \
    src/Dialog/catalog/newsqlflayerdialog.ui \
    src/Dialog/layerattributetabledialog.ui \
    src/Dialog/layerstyledialog.ui \
    src/Dialog/newmapdialog.ui \
    src/Dialog/protable/addfielddialog.ui \
    src/Dialog/protable/deletefielddialog.ui \
    src/Dialog/protable/exportprotabledialog.ui \
    src/Dialog/statistics/statisticfielddialog.ui \
    src/Dialog/tools/settingdialog.ui \
    src/Dialog/viewlogdialog.ui \
    src/Dialog/whatisthisdialog.ui \
    src/myscene.ui

INCLUDEPATH += \
    thirdparty/ \
    src/

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

# add GDAL library
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/thirdparty/gdal-2.4.4/lib/release/ -lgdal
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/thirdparty/gdal-2.4.4/lib/debug/ -lgdal
else:unix: LIBS += -L$$PWD/thirdparty/gdal-2.4.4/lib/ -lgdal

INCLUDEPATH += $$PWD/thirdparty/gdal-2.4.4/include
DEPENDPATH += $$PWD/thirdparty/gdal-2.4.4/include

# add glew library
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/thirdparty/glew-2.1.0/lib64/release/ -lGLEW
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/thirdparty/glew-2.1.0/lib64/debug/ -lGLEW
else:unix: LIBS += -L$$PWD/thirdparty/glew-2.1.0/lib64/ -lGLEW

INCLUDEPATH += $$PWD/thirdparty/glew-2.1.0/include
DEPENDPATH += $$PWD/thirdparty/glew-2.1.0/include
